{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Getting Started with Matplotlib\n",
    "We need `matplotlib.pyplot` for plotting."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## About the Data\n",
    "In this notebook, we will be working with 2 datasets:\n",
    "- Facebook's stock price throughout 2018 (obtained using the [`stock_analysis` package](https://github.com/stefmolin/stock-analysis))\n",
    "- Earthquake data from September 18, 2018 - October 13, 2018 (obtained from the US Geological Survey (USGS) using the [USGS API](https://earthquake.usgs.gov/fdsnws/event/1/))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plotting lines"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fb = pd.read_csv(\n",
    "    'data/fb_stock_prices_2018.csv', index_col='date', parse_dates=True\n",
    ")\n",
    "\n",
    "plt.plot(fb.index, fb.open)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since we are working in a Jupyter notebook, we can use the magic command `%matplotlib inline` once and not have to call `plt.show()` for each plot."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11d63b30>]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "\n",
    "fb = pd.read_csv(\n",
    "    'data/fb_stock_prices_2018.csv', index_col='date', parse_dates=True\n",
    ")\n",
    "plt.plot(fb.index, fb.open)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Scatter plots"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can pass in a string specifying the style of the plot. This is of the form '[color][marker][linestyle]'. For example, we can make a black dashed line with `'k--'` or a red scatter plot with `'ro'`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11dc8330>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot('high', 'low', 'ro', data=fb.head(20))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Histograms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([6.400e+01, 4.450e+02, 1.137e+03, 1.853e+03, 2.114e+03, 8.070e+02,\n",
       "        2.800e+02, 9.200e+01, 9.000e+00, 2.000e+00]),\n",
       " array([-1.26 , -0.624,  0.012,  0.648,  1.284,  1.92 ,  2.556,  3.192,\n",
       "         3.828,  4.464,  5.1  ]),\n",
       " <a list of 10 Patch objects>)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "quakes = pd.read_csv('data/earthquakes.csv')\n",
    "plt.hist(quakes.query('magType == \"ml\"').mag)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bin size matters\n",
    "Notice how our assumptions of the distribution of the data can change based on the number of bins (look at the drop between the two highest peaks on the righthand plot):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = quakes.query('magType == \"ml\"').mag\n",
    "fig, axes = plt.subplots(1, 2, figsize=(10, 3))\n",
    "for ax, bins in zip(axes, [7, 35]):\n",
    "    ax.hist(x, bins=bins)\n",
    "    ax.set_title(f'bins param: {bins}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot components\n",
    "### `Figure`\n",
    "Top-level object that holds the other plot components."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### `Axes`\n",
    "Individual plots contained within the `Figure`.\n",
    "\n",
    "## Creating subplots\n",
    "Simply specify the number of rows and columns to create:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As an alternative to using `plt.subplots()` we can add the `Axes` to the `Figure` on our own. This allows for some more complex layouts, such as picture in picture:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 216x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(3, 3))\n",
    "outside = fig.add_axes([0.1, 0.1, 0.9, 0.9])\n",
    "inside = fig.add_axes([0.7, 0.7, 0.25, 0.25])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Creating Plot Layouts with `gridspec`\n",
    "We can create subplots with varying sizes as well:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(8, 8))\n",
    "gs = fig.add_gridspec(3, 3)\n",
    "top_left = fig.add_subplot(gs[0, 0])\n",
    "mid_left = fig.add_subplot(gs[1, 0])\n",
    "top_right = fig.add_subplot(gs[:2, 1:])\n",
    "bottom = fig.add_subplot(gs[2,:])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Saving plots\n",
    "Use `plt.savefig()` to save the last created plot. To save a specific `Figure` object, use its `savefig()` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig.savefig('empty.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Cleaning up\n",
    "It's important to close resources when we are done with them. We use `plt.close()` to do so. If we pass in nothing, it will close the last plot, but we can pass the specific `Figure` to close or say `'all'` to close all `Figure` objects that are open. Let's close all the `Figure` objects that are open with `plt.close()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.close('all')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Additional plotting options\n",
    "### Specifying figure size\n",
    "Just pass the `figsize` parameter to `plt.figure()`. It's a tuple of (width, height):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 720x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(10, 4))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This can be specified when creating subplots as well:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 2, figsize=(10, 4))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### `rcParams`\n",
    "A small subset of all the available plot settings (shuffling to get a good variation of options):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['axes.axisbelow',\n",
       " 'axes.labelweight',\n",
       " 'boxplot.capprops.linestyle',\n",
       " 'boxplot.meanline',\n",
       " 'boxplot.whiskers',\n",
       " 'datapath',\n",
       " 'date.autoformatter.microsecond',\n",
       " 'figure.constrained_layout.hspace',\n",
       " 'font.sans-serif',\n",
       " 'font.variant',\n",
       " 'interactive',\n",
       " 'keymap.forward',\n",
       " 'lines.dash_capstyle',\n",
       " 'lines.solid_capstyle',\n",
       " 'pgf.texsystem',\n",
       " 'ps.distiller.res',\n",
       " 'xtick.bottom',\n",
       " 'xtick.major.width',\n",
       " 'ytick.major.left',\n",
       " 'ytick.major.right']"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import random\n",
    "import matplotlib as mpl\n",
    "\n",
    "rcparams_list = list(mpl.rcParams.keys())\n",
    "random.seed(20) # make this repeatable\n",
    "random.shuffle(rcparams_list)\n",
    "sorted(rcparams_list[:20])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can check the current default `figsize` using `rcParams`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[6.0, 4.0]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mpl.rcParams['figure.figsize']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also update this value to change the default (until the kernel is restarted):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[300.0, 10.0]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mpl.rcParams['figure.figsize'] = (300, 10)\n",
    "mpl.rcParams['figure.figsize']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Use `rcdefaults()` to restore the defaults:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[6.4, 4.8]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mpl.rcdefaults()\n",
    "mpl.rcParams['figure.figsize']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This can also be done via `pyplot`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rc('figure', figsize=(20, 20)) # change figsize default to (20, 20)\n",
    "plt.rcdefaults() # reset the default"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
